home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
forth_83.zoo
/
line_a.scr
< prev
next >
Wrap
Text File
|
1992-04-07
|
38KB
|
1 lines
\\ *** Line-A Graphic *** 25may86we Dieses File enthält die sogenannten Line-A Graphic-Routinen. Da diese vom VDI des GEM benutzt werden, sind sie in der Regel schneller als die VDI-Routinen selbst. In der Benennung haben wir uns weitestgehend an die ATARI-Doku- mentation gehalten, soweit sie diesen Namen überhaupt verdient. Die Routinen in diesem File sollen lediglich die Aufrufe bereit-stellen. Es ist nicht beabsichtigt, hier eine eigene Graphic- Library a la VDI zu implementieren. Zur Benutzung findet man Beispiele im File DEMO.SCR \ Line A - Graphics Loadscreen 30dec86we Onlyforth \needs Code include assemble.scr Vocabulary Graphics Graphics also definitions 1 $10 +thru \ Table offsets 26oct86we base @ decimal 0 >label v_planes 2 >label v_lin_wr 4 >label _cntrl 8 >label _intin 12 >label _ptsin 16 >label _intout 20 >label _ptsout 24 >label _fg_bp_1 26 >label _fg_bp_2 28 >label _fg_bp_3 30 >label _fg_bp_4 32 >label _lstlin 34 >label _ln_mask 36 >label _wrt_mode 38 >label _x1 40 >label _y1 42 >label _x2 44 >label _y2 46 >label _patptr 50 >label _patmsk 52 >label _multifill 54 >label _clip 56 >label _xmn_clip 58 >label _ymn_clip 60 >label _xmx_clip \ Table offsets 26oct86we 62 >label _ymx_clip 64 >label _xacc_dda 66 >label _dda_inc 68 >label _t_sclsts 70 >label _mono_status 72 >label _sourcex 74 >label _sourcey 76 >label _destx 78 >label _desty 80 >label _delx 82 >label _dely 84 >label _fbase 86 >label _fwidth 90 >label _style 92 >label _litemask 94 >label _skewmask 96 >label _weight 98 >label _r_off 100 >label _l_off 102 >label _scale 104 >label _chup 106 >label _text_fg 108 >label _scrtchp 112 >label _scrpt2 114 >label _text_bg 116 >label _copytran base ! \ Variable bp 12oct86 Variable xmin_clip Variable xmax_clip Variable ymin_clip Variable ymax_clip Variable multi_fill 0 multi_fill ! Variable linemask $FFFF linemask ! \ solid line Variable plane1 1 plane1 ! \ schwarz Variable plane2 1 plane2 ! \ auf Variable plane3 0 plane3 ! \ weiß Variable plane4 0 plane4 ! Variable cur_x 0 cur_x ! Variable cur_y 0 cur_y ! Variable wr_mode 0 wr_mode ! \ overwrite Variable scr_res 2 scr_res ! \ Hires \ arrays 17sep86we Variable pat_mask 1 pat_mask ! Variable pattern Create nopattern 0 , 0 , Create fullpattern $FFFF , $FFFF , fullpattern pattern ! Variable checking checking on Variable clipping clipping off Create a_fonts 4 allot Create a_base 4 allot \ Initialization 17sep86we Create a_setup Assembler $A000 , .l A0 a_base R#) move A1 a_fonts R#) move .w wr_mode R#) _wrt_mode A0 D) move plane1 R#) _fg_bp_1 A0 D) move plane2 R#) _fg_bp_2 A0 D) move plane3 R#) _fg_bp_2 A0 D) move plane4 R#) _fg_bp_4 A0 D) move rts end-code \ line 17sep86we Code line ( x1 y1 x2 y2 -- ) a_setup bsr -1 # _lstlin A0 D) move linemask R#) _ln_mask A0 D) move SP ) _y2 A0 D) move SP )+ cur_y R#) move SP ) _x2 A0 D) move SP )+ cur_x R#) move SP )+ _y1 A0 D) move SP )+ _x1 A0 D) move $A003 , Next end-code